// pages/service-detail/service-detail.js
const app = getApp()
const common = require('../../utils/common.js')
const auth = require('../../utils/auth.js')

Page({
  data: {
    serviceId: '',
    currentImageIndex: 0,
    showContactForm: false,
    
    // 服务图片
    serviceImages: [
      'https://images.unsplash.com/photo-1625246333195-78d9c38ad449?w=800&h=450&fit=crop',
      'https://images.unsplash.com/photo-1574943320219-553eb213f72d?w=800&h=450&fit=crop',
      'https://images.unsplash.com/photo-1560493676-04071c5f467b?w=800&h=450&fit=crop'
    ],
    
    // 服务详情数据（静态数据示例）
    serviceData: {
      title: '专业农机服务 - 耕地播种一站式',
      category: '农机服务',
      certified: true,
      description: '提供专业农机服务，包括耕地、播种、收割等全流程服务，设备先进，经验丰富',
      price: '200',
      unit: '亩起',
      views: '1.2k',
      favorites: '86',
      content: '我们提供全方位的农机服务，专注于为农户提供高效、专业的农业机械化解决方案。',
      items: [
        '耕地翻土 - 采用大型拖拉机和深耕犁，耕作深度可达30cm',
        '播种服务 - 精密播种机，确保种子均匀分布',
        '收割服务 - 联合收割机，高效快捷',
        '施肥服务 - 自动化施肥设备，精准控制用量'
      ],
      advantages: [
        '设备先进 - 所有机械均为近3年内购置的新型设备',
        '团队专业 - 操作人员均有5年以上工作经验',
        '服务范围广 - 覆盖周边100公里范围',
        '价格合理 - 明码标价，无隐藏收费'
      ],
      steps: [
        '联系我们进行需求咨询',
        '实地勘察并制定作业方案',
        '签订服务协议',
        '按约定时间进场作业',
        '作业完成验收付款'
      ],
      location: '浙江杭州及周边地区（余杭、临平、萧山、富阳等）',
      contact: {
        name: '张**',
        phone: '138****5678'
      },
      publishTime: '2024年12月10日 14:30'
    },
    
    // 相似服务推荐
    relatedServices: [
      {
        id: 2,
        title: '农业机械租赁服务',
        description: '提供各类农业机械租赁',
        price: '150',
        unit: '天',
        image: 'https://images.unsplash.com/photo-1574943320219-553eb213f72d?w=80&h=80&fit=crop'
      },
      {
        id: 3,
        title: '专业收割服务',
        description: '大型联合收割机服务',
        price: '180',
        unit: '亩',
        image: 'https://images.unsplash.com/photo-1560493676-04071c5f467b?w=80&h=80&fit=crop'
      }
    ]
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    // 获取服务ID
    if (options.id) {
      this.setData({
        serviceId: options.id
      })
      
      // TODO: 根据ID加载服务详情
      // this.loadServiceDetail(options.id)
    }
    
    // 设置导航栏标题
    wx.setNavigationBarTitle({
      title: '服务详情'
    })
  },

  /**
   * 加载服务详情（预留接口）
   */
  loadServiceDetail(id) {
    // TODO: 调用API获取服务详情
    // wx.request({
    //   url: `${app.globalData.apiBaseUrl}/api/service/detail`,
    //   data: { id },
    //   success: (res) => {
    //     if (res.data.code === 200) {
    //       this.setData({
    //         serviceData: res.data.data,
    //         serviceImages: res.data.data.images || []
    //       })
    //     }
    //   },
    //   fail: (err) => {
    //     common.showToast('加载失败', 'error')
    //   }
    // })
  },

  /**
   * 显示联系表单
   */
  async showContactModal() {
    // 检查是否登录
    const isLogin = await auth.requireLogin(() => {
      // 登录成功后显示表单
      this.setData({
        showContactForm: true
      })
      wx.vibrateShort({ type: 'light' })
    })
    
    // 如果已经登录，直接显示表单
    if (isLogin) {
      this.setData({
        showContactForm: true
      })
      wx.vibrateShort({ type: 'light' })
    }
  },

  /**
   * 隐藏联系表单
   */
  hideContactForm() {
    this.setData({
      showContactForm: false
    })
  },

  /**
   * 联系表单提交成功
   */
  onContactSuccess(e) {
    console.log('联系表单提交成功:', e.detail)
    wx.showToast({
      title: '提交成功',
      icon: 'success'
    })
  },

  /**
   * 导航到首页
   */
  navigateToHome() {
    wx.switchTab({
      url: '/pages/home/home'
    })
  },

  /**
   * 导航到服务列表
   */
  navigateToList() {
    wx.switchTab({
      url: '/pages/service/service'
    })
  },

  /**
   * 导航到详情页
   */
  navigateToDetail(e) {
    const id = e.currentTarget.dataset.id
    wx.redirectTo({
      url: `/pages/service-detail/service-detail?id=${id}`
    })
  },

  /**
   * 分享
   */
  onShareAppMessage() {
    return {
      title: this.data.serviceData.title,
      path: `/pages/service-detail/service-detail?id=${this.data.serviceId}`,
      imageUrl: this.data.serviceImages[0]
    }
  }
})